package com.jsmtr.rms.service;

import java.util.List;
import java.util.Map;

import com.jsmtr.rms.entity.HRZZScore;
import com.jsmtr.rms.entity.HRZZUser;
import com.jsmtr.rms.entity.ProjectInfo;


public interface IRecommendService {
    /**
     * 推荐人员分页信息
     *
     * @param page    当前页
     * @param perpage 每页显示数
     * @param user    HRZZUser
     * @return Map
     */
    Map<String, Object> getUsers(int page, int perpage, HRZZUser user,Map map) throws Exception;

   /*
    * 查询推荐人员返回Map
    * @author cyx
    * @date 2018/11/7 16:42
    * @param page 条数
  * @param perpage 当前页
  * @param user 中专人员
  * @param map  参数
    * @return java.util.Map<java.lang.String,java.lang.Object>
    */
    Map<String,Object> getUserMap(int page, int perpage, HRZZUser user,Map map) throws Exception;
    /**
     * 获得推荐人员
     *
     * @param id ID
     * @return HRZZUser
     */
    HRZZUser getViewUser(String id) throws Exception;

    /**
     * 根据方案和人员ID获取推荐人员
     * @author cyx
     * @date 2018/11/12 15:14
     * @param id 人员ID
     * @param pid  方案ID
     * @return com.jsmtr.rms.entity.HRZZUser
     */
   HRZZUser getViewUser(String id, String pid) throws Exception;

 /**
     * 获得推荐人员
     *
     * @param ids 人员ID集合
     * @return List<HRZZUser>
     */
    List<HRZZUser> getuserbyids(String[] ids) throws Exception;

    /**
     * 获得推荐人员
     *
     * @param pid      招聘方案ID
     * @param code     身份证号
     * @param deptcode 责任部门编码
     * @return HRZZUser
     */
    HRZZUser getUser(String pid, String code, String deptcode) throws Exception;


    List<HRZZUser> getUserList(String pid, String code, String deptcode) throws Exception;

    List<ProjectInfo> getProject() throws Exception;

    List<ProjectInfo> getAllProject() throws Exception;

    ProjectInfo getProject(String pid) throws Exception;

    /**
     * 获得推荐人员
     *
     * @param pid  招聘方案ID
     * @param code 身份证号
     * @return HRZZUser
     */
    HRZZUser getUser(String pid, String code) throws Exception;


    /**
     * 获得推荐人员
     *
     * @param id    人员ID
     * @param uid   添加人ID
     * @param state 状态
     * @return HRZZUser
     */
    HRZZUser getUser(String id, String uid, int state) throws Exception;

    /**
     * 获得推荐人员
     *
     * @param id    人员ID
     * @return HRZZUser
     */
    HRZZUser getUser(String id) throws Exception;

    /**
     * 获得推荐人员成绩
     *
     * @param code 身份证号
     * @param pid  招聘方案ID
     * @return HRZZScore
     */
    HRZZScore getScore(String code, String pid) throws Exception;


}
